In a communication system, an access node may comprise a device or set of devices that serve as a gateway that client nodes may use for exchange of information with a network. This information may take the form of voice, data, or some other media. The client nodes may be wireline or wireless components.
In some types of communication systems, an access node explicitly acknowledges each packet of information that the access node receives from a client node. For example, if the access node receives ten voice packets from a client node, the access node may transmit ten acknowledgement messages, one for each voice packet, to the client node. These voice packets may include a representation of a voice signal, error detection coding, error correction coding, and possibly other information. By processing information in acknowledgment messages, the client node is able to determine if one or more of the voice packets it transmitted were not received by the access node. In response to such a determination, the client node may retransmit one or more voice packets to the access node.
There are at least two ways that a packet can be “lost” between a client node and the access node. The packet may be truly lost if it never arrives at the access node. Alternatively, the packet may arrive at the access node, but when the access node checks error detection coding in the packet, it finds that the packet has been corrupted. In this case, the access node may discard the packet, so the packet is effectively lost.
Such an acknowledgment-based transmission scheme is typically referred to as automatic repeat request (ARQ). For example, in one variation of ARQ referred to as stop-and-wait, a client node transmits a packet to an access node, then waits to receive an acknowledgement from the access node before transmitting another packet. If the client node does not receive an acknowledgement within a pre-determined time period or if the client node receives a negative acknowledgement, the client node may retransmit the packet.
Hybrid ARQ is a variation that can be applied to any type of ARQ. Using hybrid ARQ, a client node may divide a packet into multiple sub-packets, and transmit each sub-packet individually. These sub-packets may include redundant information for purposes of forward error correction. Thus, if the access node checks the error detection code of a sub-packet and finds that the sub-packet has been corrupted, the access node may be able to rebuild the correct packet from the redundant information. Nonetheless, some sub-packets may not include redundant information. For example, a given sub-packet may include only information and error detection codes, while subsequent sub-packets may include redundant information relating to the information in the given packet. Communication systems with lossy channels, such as wireless networks, may benefit from hybrid ARQ.
It is common for an access node to serve multiple client nodes, perhaps tens or hundreds of client nodes. Additionally, is it common for certain types of networks to support broadcast or multicast channels that can be used to transmit a packet such that the packet can be received by multiple destinations. Thus, it is possible for some access nodes to combine multiple acknowledgement messages destined for multiple clients into a single aggregated acknowledgement message (AAM). The access node then transmits this AAM to some or all of the client nodes using a broadcast or multicast channel. A client node that receives an AAM may parse the message to find the acknowledgement data pertaining to itself. The client node may discard acknowledgment data in the AAM that pertains to other client nodes.
By combining individual acknowledgment messages into a single AAM, network capacity is conserved, as the overhead associated with transmitting a large number of acknowledgment messages is eliminated. This technique is especially beneficial to an access node that is receiving packets from a potentially large number of client nodes.